package com.dream.technology.components.expresion;

import com.dream.technology.components.context.FlowContext;
import com.dream.technology.components.engine.JsEngineEVel;
import com.dream.technology.db.entity.vo.RiskItemVo;

/**
 * 描述：单个条表达式解析 ，解析一个字段
 *
 * @author chen_q_i@163.com
 * 2019/1/2 : 18:35.
 * @version : 1.0
 */
public interface ExpressionService {




    /**
     * 解析每个元素 ， 生成不同的表达式并计算 返回boolean 值
     *
     * @param flowContext
     * @param item
     * @return
     */
    boolean expressionAnalysis(FlowContext flowContext, RiskItemVo item);


    /**
     *  处理数值 。boolean 表达
     * @param expression
     * @return
     */
    default Boolean analysisExpression(String expression) {
      return   JsEngineEVel.getBoolean(expression);

    }
}
